﻿using System;
using System.Net;
using System.Runtime.Serialization;
using System.Windows;
using System.Windows.Controls;


namespace DiscoveryLogic.DataServices.DataObjects.Entities
{
    [DataContract(Namespace = Settings.DataObjectNamespace)]
    public class Grant:Entity
    {
        #region props
        private string _GrantNum;
        /// <summary></summary>
        [DataMember]
        public string GrantNum
        {
            get
            {
                return this._GrantNum;
            }
            set
            {
                if (this._GrantNum != value)
                {
                    this._GrantNum = value;
                    this.OnPropertyChanged("GrantNum");
                }
            }
        }

        private int _AccessionNum;
        /// <summary></summary>
        [DataMember]
        public int AccessionNum
        {
            get
            {
                return this._AccessionNum;
            }
            set
            {
                if (this._AccessionNum != value)
                {
                    this._AccessionNum = value;
                    this.OnPropertyChanged("AccessionNum");
                }
            }
        }

        private int _ApplID;
        /// <summary></summary>
        [DataMember]
        public int ApplID
        {
            get
            {
                return this._ApplID;
            }
            set
            {
                if (this._ApplID != value)
                {
                    this._ApplID = value;
                    this.OnPropertyChanged("ApplID");
                }
            }
        }

        private string _ActivityCode;
        /// <summary></summary>
        [DataMember]
        public string ActivityCode
        {
            get
            {
                return this._ActivityCode;
            }
            set
            {
                if (this._ActivityCode != value)
                {
                    this._ActivityCode = value;
                    this.OnPropertyChanged("ActivityCode");
                }
            }
        }

        private string _MajorActivityCode;
        /// <summary></summary>
        [DataMember]
        public string MajorActivityCode
        {
            get
            {
                return this._MajorActivityCode;
            }
            set
            {
                if (this._MajorActivityCode != value)
                {
                    this._MajorActivityCode = value;
                    this.OnPropertyChanged("MajorActivityCode");
                }
            }
        }

        private string _ApplTypeCode;
        /// <summary></summary>
        [DataMember]
        public string ApplTypeCode
        {
            get
            {
                return this._ApplTypeCode;
            }
            set
            {
                if (this._ApplTypeCode != value)
                {
                    this._ApplTypeCode = value;
                    this.OnPropertyChanged("ApplTypeCode");
                }
            }
        }

        private int _FY;
        /// <summary></summary>
        [DataMember]
        public int FY
        {
            get
            {
                return this._FY;
            }
            set
            {
                if (this._FY != value)
                {
                    this._FY = value;
                    this.OnPropertyChanged("FY");
                }
            }
        }

        private int _SupportYr;
        /// <summary></summary>
        [DataMember]
        public int SupportYr
        {
            get
            {
                return this._SupportYr;
            }
            set
            {
                if (this._SupportYr != value)
                {
                    this._SupportYr = value;
                    this.OnPropertyChanged("SupportYr");
                }
            }
        }
        #endregion

        public Grant(Guid mentityId, EntityType mentityType, string mdomain) : base(mentityId, mentityType, mdomain)
        {
        }
    }
}
